वेब अनुप्रयोगों को अक्सर कार्य करने के लिए एपीआई कुंजी, पासवर्ड और निजी प्रमाणपत्र जैसे रहस्यों की आवश्यकता होती है, लेकिन इन संसाधनों को संग्रहीत और एक्सेस करने से डेवलपर्स सुरक्षा जोखिमों के प्रति संवेदनशील हो सकते हैं।
इस लेख में, आप गुप्त प्रबंधन की चुनौतियों के साथ-साथ वेब अनुप्रयोगों में रहस्यों के प्रबंधन, भंडारण और पढ़ने के लिए कुछ सर्वोत्तम प्रथाओं के बारे में जानेंगे।
रहस्य प्रमाणीकरण और प्राधिकरण के लिए उपयोग किए जाने वाले डिजिटल क्रेडेंशियल हैं। वे मानव-से-आवेदन और आवेदन-से-आवेदन दोनों स्तरों पर पहुंच अधिकारों का प्रबंधन करते हैं।
सामान्य प्रकार के रहस्यों में शामिल हैं:
रहस्य उपयोगकर्ताओं और अनुप्रयोगों को संवेदनशील डेटा, सिस्टम और सेवाओं तक पहुंच प्रदान करते हैं। यही कारण है कि पारगमन में और आराम से रहस्यों को सुरक्षित रखना महत्वपूर्ण है।
रहस्यों को संग्रहीत करने के लिए सबसे आम तरीका .env
फ़ाइलों का उपयोग करना है, जिन्हें अक्सर पर्यावरण चर के रूप में जाना जाता है; हालांकि, ये फ़ाइलें अनधिकृत उपयोगकर्ताओं के लिए डेटा को उजागर कर सकती हैं, और फ़ाइलों को मैन्युअल रूप से प्रबंधित करने से त्रुटियां हो सकती हैं।
.env
फाइलों से होने वाले जोखिमों के बारे में अधिक जानकारी के लिए, यहां पढ़ें ।
गुप्त प्रबंधन एक अधिक सुरक्षित विकल्प प्रदान करता है।
गुप्त प्रबंधन को समझने के लिए, आपको सबसे पहले गुप्त जीवन चक्र को जानना होगा।
एक स्वस्थ रहस्य को इस प्रक्रिया का पालन करना चाहिए:
सृजन/निर्माण: रहस्य या तो उपयोगकर्ता द्वारा मैन्युअल रूप से या आवश्यकतानुसार स्वचालित रूप से उत्पन्न होता है। पासवर्ड आमतौर पर एक ऐसी नीति का पालन करते हैं जो उनके निर्माण और उपयोग को नियंत्रित करती है।
रोटेशन: एक बार गुप्त उपयोग में होने के बाद, इसे नियमित रूप से बदला जाना चाहिए, या तो स्वचालित रूप से बनाया गया या मैन्युअल निर्माण के लिए एक संकेत के माध्यम से। यदि कोई रहस्य पुराना है या समाप्त हो जाता है, तो उस तक पहुंच अवरुद्ध कर दी जाती है जब तक कि रहस्य बदल न जाए।
निरसन: जब किसी रहस्य की अब आवश्यकता नहीं रह गई है या वांछित नहीं है—उदाहरण के लिए, जब कोई कर्मचारी कंपनी छोड़ता है या जब संदिग्ध गतिविधि पाई जाती है—तो उसे उपयोगकर्ता या प्रोग्राम से हटा दिया जाता है, प्रभावी रूप से संसाधन तक पहुंच को अवरुद्ध कर देता है। उत्कृष्ट गुप्त स्वच्छता बनाए रखने के लिए अनावश्यक, समाप्त, भंग, या कमजोर रहस्यों को बाहर निकालना एक महत्वपूर्ण कदम है।
गुप्त प्रबंधन पूरे गुप्त जीवनचक्र में क्रेडेंशियल के उत्पादन, रोटेशन, निरसन और भंडारण को सुरक्षित और कुशलता से प्रबंधित करने की प्रक्रिया है। इसे पासवर्ड प्रबंधन के बेहतर संस्करण के रूप में सोचें। जबकि प्रबंधित क्रेडेंशियल्स का दायरा व्यापक हो रहा है, इसका उद्देश्य वही है: महत्वपूर्ण संपत्तियों को अवांछित पहुंच से बचाना।
गुप्त प्रबंधन विफलता के संभावित बिंदुओं को सीमित करने के लिए गोपनीयता के प्रशासन में उपयोगकर्ता की भागीदारी को कम या समाप्त करता है।
सामान्य तौर पर, यह तीन स्तरों पर सुरक्षा में योगदान देता है:
इन्फ्रास्ट्रक्चर सुरक्षा उपयोगकर्ता और एप्लिकेशन खातों, उपकरणों और अन्य नेटवर्क तत्वों तक अनधिकृत पहुंच को रोकती है।
क्लाउड सेवा सुरक्षा क्लाउड खातों और महत्वपूर्ण क्लाउड-आधारित सेवाओं तक पहुंच को प्रतिबंधित और प्रबंधित करती है।
डेटा सुरक्षा महत्वपूर्ण सिस्टम, स्टोरेज, डेटाबेस और अन्य संसाधनों पर डेटा समझौता होने से रोकती है।
हालांकि, गुप्त प्रबंधन को लागू करने का अर्थ है सुरक्षा उपायों को किसी संगठन के बुनियादी ढांचे के सबसे कमजोर स्तरों में एकीकृत करना - क्लाउड, कोड, डेटा और डिवाइस - जो मुश्किल हो सकता है।
गुप्त प्रबंधन के कुछ सामान्य जोखिमों में शामिल हैं:
अपूर्ण दृश्यता और जागरूकता: यह विकेन्द्रीकृत मॉडल में एक विशेष दोष है जिसमें व्यवस्थापक, डेवलपर्स और अन्य टीम के सदस्य अपने रहस्यों को व्यक्तिगत रूप से रखते हैं, यदि बिल्कुल भी। यहां निरीक्षण का मतलब है कि सुरक्षा अंतराल के साथ-साथ ऑडिटिंग चुनौतियां भी हैं।
हार्ड-कोडेड/एम्बेडेड क्रेडेंशियल: एप्लिकेशन और IoT डिवाइस हार्ड-कोडेड, डिफॉल्ट क्रेडेंशियल्स के साथ आपूर्ति और तैनात किए जाते हैं जो स्कैनिंग टूल और सरल अनुमान लगाने या डिक्शनरी-शैली के हमलों का उपयोग करके क्रैक करना आसान होता है।
विशेषाधिकार प्राप्त क्रेडेंशियल और क्लाउड: क्लाउड और वर्चुअलाइजेशन एडमिनिस्ट्रेटर कंसोल (जैसे कि एडब्ल्यूएस या ऑफिस 365 द्वारा प्रदान किए गए) उपयोगकर्ताओं को व्यापक सुपरयूजर विशेषाधिकार प्रदान करते हैं, जिससे वे बड़े पैमाने पर वर्चुअल मशीन और एप्लिकेशन को तुरंत स्पिन और स्पिन कर सकते हैं। इनमें से प्रत्येक वर्चुअल मशीन के अपने विशेषाधिकार और रहस्य हैं जिन्हें नियंत्रित किया जाना चाहिए।
DevOps उपकरण: DevOps टीमें आमतौर पर ऑर्केस्ट्रेशन, कॉन्फ़िगरेशन प्रबंधन और अन्य उद्देश्यों (उदाहरण के लिए, शेफ, कठपुतली, Ansible, नमक और डॉकर कंटेनर) के लिए कई टूल और तकनीकों का उपयोग करती हैं, जो स्वचालन और अन्य स्क्रिप्ट पर निर्भर करती हैं जिन्हें कार्य करने के लिए रहस्यों की आवश्यकता होती है।
तृतीय-पक्ष विक्रेता खाते/रिमोट एक्सेस समाधान: यह सुनिश्चित करना मुश्किल है कि रिमोट एक्सेस के माध्यम से या किसी तीसरे पक्ष को प्रदान किया गया प्राधिकरण उचित रूप से उपयोग किया जाता है।
मैनुअल गुप्त प्रबंधन प्रक्रियाएं: अधिक मैनुअल गुप्त प्रबंधन तकनीकें सुरक्षा खामियों और गलतियों का एक उच्च जोखिम दर्शाती हैं।
हालांकि, इन मुद्दों को हल करने और अपने संवेदनशील डेटा को सुरक्षित रखने के लिए समाधान और सर्वोत्तम प्रथाएं हैं।
ऐसी कई विधियाँ हैं जिनका उपयोग आप अपने उपयोगकर्ताओं और ऐप्स को सिस्टम तक पहुँचने के लिए आवश्यक चीज़ों को पुनः प्राप्त करने के लिए एक सुरक्षित और सुरक्षित तरीका प्रदान करने के लिए कर सकते हैं।
अपने संगठन के भीतर एक कुशल गुप्त प्रबंधन प्रणाली बनाने के लिए आपको यह करने की आवश्यकता है।
सबसे पहले, आपको अपने रहस्यों को केंद्रीकृत करने की आवश्यकता है। कई प्रोजेक्ट संस्करण नियंत्रण प्रणालियों जैसे GitHub, Bitbucket और GitLab में रहस्यों को संग्रहीत करते हैं।
अपने डेटा को केंद्रीकृत करने से यह नियंत्रित करना आसान हो जाता है कि कौन सीक्रेट एक्सेस कर सकता है और किस समय।
रहस्यों को केंद्रीकृत करने के लिए, आप उन्हें डेटाबेस में सहेज सकते हैं या गुप्त प्रबंधक का उपयोग कर सकते हैं।
सीक्रेट मैनेजर्स के बारे में यहाँ और पढ़ें।
एक एकीकृत गुप्त प्रबंधन नीति को डिफ़ॉल्ट या हार्ड-कोडित रहस्यों के उपयोग को प्रतिबंधित करते हुए रहस्यों की संरचना (न्यूनतम लंबाई, जटिलता, विशेष वर्णों का उपयोग, निषिद्ध पासवर्ड, पुन: उपयोग और अवधि) के लिए कड़े दिशानिर्देश प्रदान करना चाहिए।
इस नीति में कुछ मूलभूत विशेषताओं को शामिल किया जाना चाहिए:
जब कार्रवाइयां स्वचालित नहीं होती हैं, तो आप मानवीय त्रुटि के कारण होने वाले नुकसान का जोखिम उठाते हैं। रहस्यों को विकसित करने, प्रबंधित करने, प्रसारित करने और बनाए रखने और किसी भी हार्ड-कोडेड या एम्बेडेड रहस्यों को हटाने के लिए मनुष्यों के बजाय प्रौद्योगिकी पर भरोसा करने का प्रयास करें।
विशिष्ट व्यक्तियों या संस्थाओं को दानेदार स्तर पर अस्थायी क्रेडेंशियल प्रदान करें, जिन्हें गतिशील रहस्य भी कहा जाता है, ताकि किसी भी उल्लंघन के मामले में, प्रभावित क्रेडेंशियल्स को संपूर्ण विकास बुनियादी ढांचे को प्रभावित किए बिना निरस्त किया जा सके।
कम से कम, अलग-अलग उत्पादन प्रणालियों या टीमों के लिए आदर्श रूप से प्रत्येक वातावरण के लिए क्रेडेंशियल के विभिन्न सेट बनाए जाने चाहिए।
गोपनीयता को पारगमन में और आराम से एन्क्रिप्ट किया जाना चाहिए ताकि नेटवर्क के भीतर अधिकतम सुरक्षा सुनिश्चित हो सके।
आपकी एन्क्रिप्शन कुंजियों को सीक्रेट मैनेजमेंट सॉल्यूशन में समेकित किया जाना चाहिए, जिससे आप इस पर उचित नियंत्रण स्थापित कर सकें कि उन चाबियों तक किसके पास पहुंच है।
निरीक्षण और जवाबदेही में सुधार करने के लिए, खातों, उपयोगकर्ताओं, स्क्रिप्ट और स्वचालन उपकरणों के लिए सभी विशेषाधिकार प्राप्त सत्रों को लॉग, ऑडिट और मॉनिटर करने के लिए विशेषाधिकार प्राप्त सत्र निगरानी को नियोजित करें।
कीस्ट्रोक्स और स्क्रीन को कैप्चर करना भी एक विकल्प है, जिससे लाइव व्यू और प्लेबैक की अनुमति मिलती है।
कुछ व्यावसायिक विशेषाधिकार सत्र प्रबंधन समाधान आईटी टीमों को संदिग्ध इन-प्रोग्रेस सत्र व्यवहार का पता लगाने और गतिविधि की पूरी तरह से जांच किए जाने तक सत्र को रोकने, लॉक करने या समाप्त करने की अनुमति देते हैं।
आज के नेटवर्क की वितरित प्रकृति का लाभ उठाएं। गोपनीय और संवेदनशील डेटा को एक ही स्थान पर केंद्रित करने के बजाय उन्हें अलग रखें। यह विकास के बुनियादी ढांचे के भीतर रहस्यों का उपयोग और अद्यतन करना आसान बनाता है।
किसी संगठन की साइबर सुरक्षा को बनाए रखने के लिए गुप्त प्रबंधन महत्वपूर्ण है। आपके संगठन को एक प्रमुख गुप्त प्रबंधन रणनीति विकसित करनी चाहिए जो गुप्त जीवन चक्र के सभी चरणों के लिए समान नियमों और प्रक्रियाओं को परिभाषित करती है ताकि रहस्यों को सुरक्षित और प्रभावी ढंग से प्रबंधित किया जा सके।